N/A
N/A
The present invention relates generally to automated testing systems, and more specifically to a method and a system for providing integrated, multiple service switch testing.
As communications switches have evolved, their designs have become increasingly complex. In particular, multiple communications protocols, and services related to those protocols, have been included within a single switching device. Such services may relate, for example, to the frame relay, cell relay (also known as Asynchronous Transfer Mode or ATM), and Internet Protocol (IP) internetworking communications protocols. Other services provided by a switch may relate to flow control over one or more virtual connections, and/or throughput or latency performance levels relating to various standard Quality of Service (QoS) parameters. A switch that supports multiple communications protocols may be referred to as a xe2x80x9cmulti-protocolxe2x80x9d or xe2x80x9cmulti-servicexe2x80x9d switch.
The specific operation of a multi-service switch often may depend on how the switch is configured in terms of what modules are installed in the switch, as well as the traffic patterns flowing through the switch. Depending on the switch configuration, each supported communication service may operate simultaneously with any combination of a number of other potentially available services. Various communication services offered by a switch may not be completely independent in their operation. Accordingly, a multi-service communication switch presents an example of a system whose operation may significantly vary depending on its specific configuration and operating environment.
As a result of the aforementioned complexities inherent in multi-service switch design, effective testing of a multi-service switch can be challenging. Some existing testing approaches employ multiple separate hardware test devices (xe2x80x9ctestersxe2x80x9d) using independent control programs. Each separate tester has been used to separately test one or more specific associated functionalities within the device. In such an approach, a first tester might be used to test the frame relay function, another tester might be used to test the ATM functionality of the device, another tester might be configured to produce IP internetworking test data, and so on for each service type offered by the system under test. Use of multiple, dedicated hardware testers may necessitate any test control programs to be designed in a way that is based on the specific testers used in a given test. Such test control programs may not be useful when other specific testers are used. Additionally, in existing systems, test control programs are typically designed based on specific configurations of hardware testers. If two test control programs are designed based on two different configurations of the hardware testers, then time consuming re-cabling must be performed between execution of the two tests.
For these reasons, existing approaches to switch testing may fail to systematically and comprehensively provide a test of operation under many configurations. In addition, such individual test devices may make it difficult for a test engineer to efficiently perform a variety of tests, since the cabling connecting multiple independent test devices to multiple systems under test must often be changed to support individual tests.
For the above reasons, it would be desirable to have an integrated testing system and method which supports convenient testing of large numbers of configurations of a multi-service communications switch. The system should allow for simultaneous testing of multiple services offered by the switch, and further be capable of inter-operating with existing test devices.
In accordance with the present invention, a system for integrated testing of one or more multi-service communications switches (xe2x80x9cswitchesxe2x80x9d) is disclosed, including a script execution environment for executing at least one test script. For a given test script, the script execution environment includes a hardware definition file storing a number of logical hardware device names. Each of the logical hardware device names in the hardware description language corresponds to a hardware device that may be used by the associated test script. The hardware devices described by logical hardware device names in the hardware description file may include at least one system under test (SUT) consisting of a switch, as well as a number of hardware testing devices (xe2x80x9ctestersxe2x80x9d).
The disclosed system further employs a network definition file including a plurality of logical connection names corresponding to connections between the hardware devices in the test environment. These connections in the network definition file are specified in terms of the logical hardware device names defined in the hardware definition file.
A test script is further provided by the disclosed system, which also refers to each of the hardware devices in the test environment using the logical hardware device names in the hardware definition file, and which also refers to the connections between the hardware devices using the logical connection names defined by the network definition file.
In an illustrative embodiment, the hardware definition file further includes a loopback definition section, including a number of logical xe2x80x9cloopbackxe2x80x9d names, associated with ports in one or more switches having their output link connected to their input link for loopback testing.
Further in an illustrative embodiment, the disclosed system includes a streams utility, accessible to the test script during execution, for configuring at least one stream, for use during execution of the test script. Such streams are configured with reference to logical hardware device names and logical connection names. Similarly, the disclosed system may provide a checks utility for establishing at least one check, wherein an established check may be used to collect statistics regarding a subset of data received on a specific communications link, and a connections utility for establishing virtual connections for use during a test. Each of the checks and connections utilities operate using the logical hardware device names and the logical connection names. Those skilled in the art will recognize that while the connections utility of the disclosed system is described with regard to support for protocols using virtual connections, the disclosed system is not limited to such applications, and that the disclosed system is also suitable for testing of connectionless protocols as well, such as IP.
Use of the disclosed hardware definitions file allows multiple tests which require the same hardware devices to share the same description of those devices. The hardware definitions file further allows a test script to be modified to use slightly different equipment by simply modifying the hardware definition file and not the test script itself. This advantageously provides a level of device independence. Each test script, therefore, does not have to be rewritten every time the equipment it uses changes. This device independence provided by the hardware description and network description files results from the fact that they completely describe, in a standard way, the equipment in use for a particular test run. In other words, the hardware description and network description files 1) contain the actual switch identifier numbers so that the test script need not be modified for each SUT, 2) describe each switch""s card complement so that a single test script can test multiple card configurations, 3) specify the test equipment in use and describe the card complement of each 4) describe how the switches are cabled together, and 5) describe how the switches are cabled to test equipment. In this way there is provided a testing system which allows automated testing using a variety of testing equipment, and simplifies connection set-up and tear-down between testing of different switches and the use of different test equipment used to test them.